Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego Carlos

SQLSTATE[HY093]:

Recommended Posts

Boa Noite

queria uma ajuda sobre a questão abaixo

 

Certeza que estou errando em algo já refiz o código varias vezes e nada, tbm ja fiz update menores que esse e normal sem nem um problema, agora esse não vai

abaixo o código up

try {
    if (isset($_POST['insere'])) {
        $fc_nome = $_POST['fc_nome'];
        $fc_datanas = $_POST['fc_datanas'];
        $fc_rg = $_POST['fc_rg'];
        $fc_cartsus = $_POST['fc_cartsus'];
        $fc_tel = $_POST['fc_tel'];
        $fc_cel = $_POST['fc_cel'];
        $fc_cep = $_POST['fc_cep'];
        $fc_rua = $_POST['fc_rua'];
        $fc_num = $_POST['fc_num'];
        $fc_bairro = $_POST['fc_bairro'];
        $fc_cidade = $_POST['fc_cidade'];
        $fc_estado = $_POST['fc_estado'];
        $fc_obs = $_POST['fc_obs'];
        $fc_id = $_POST['fc_id'];

        if (empty($fc_datanas)) {
            throw new Exception("<span class='aviso'><b>Atencao!</b> Campo Data de Nascimento Vazio!</span>");  
        } else if(empty($fc_cartsus)) {
            throw new Exception("<span class='aviso'><b>Atencao!</b> Campo Cartão SUS Obrigatorio!</span>");  
        } else if(empty($fc_nome)){
            throw new Exception("<span class='aviso'><b>Atencao!</b> Campo Nome Vazio!</span>");  
        }
    
        $atualizaCAD = $pdo->prepare("UPDATE fcadastro SET FC_RG=?, FC_NASCIMENTO=?, FC_CARTSUS=?, FC_NOMEPASC=?, FC_TEL=?, FC_CEL=?, FC_CEP=?, FC_RUA=?, FC_NUM=?, FC_BAIRRO=?, FC_CIDADE=?, FC_ESTADO=?, FC_OBS=? WHERE FC_ID='$fc_id'");
        $atualizaCAD->bindValue(1, $fc_rg);
        $atualizaCAD->bindValue(2, $fc_datanas);
        $atualizaCAD->bindValue(3, $fc_cartsus);
        $atualizaCAD->bindValue(4, $fc_nome);
        $atualizaCAD->bindValue(5, $fc_tel);
        $atualizaCAD->bindValue(6, $fc_cel);
        $atualizaCAD->bindValue(7, $fc_cep);
        $atualizaCAD->bindValue(8, $fc_rua);
        $atualizaCAD->bindValue(9, $fc_num);
        $atualizaCAD->bindValue(10, $fc_bairro);
        $atualizaCAD->bindValue(11, $fc_cidade);
        $atualizaCAD->bindValue(12, $fc_estado);
        $atualizaCAD->bindValue(13, $fc_obs);
        $atualizaCAD->bindValue(14, $fc_id);
        $atualizaCAD->rowCount();
        $atualizaCAD->execute();

        $msg = '<span class="sucesso"><b>Sucesso!</b> Paciente Atualizado! </span>';    
    }

} catch (Exception $er) {
    $msg = $er->getMessage();
}

e sempre o mesmo erro

 

SQLSTATE[HY093]:

 

oq sera que pode ser?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro SQLSTATE[HY093] significa:  

Citar

 Invalid parameter number: number of bound variables does not match number of tokens

 

Analisando sua query, você possui 13 tokens (que são as interrogações) e uma variável. Mas, no bindValue, são 14.

 

O problema está na variável:

" WHERE FC_ID='$fc_id'");

Altere para um token:

" WHERE FC_ID = ?");

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.